DAX权威指南:运用Power BI、SQL Server Analysis Services和Excel实现商业智能分析(第2版)

您所在的位置:网站首页 power bi建模权威指南 pdf DAX权威指南:运用Power BI、SQL Server Analysis Services和Excel实现商业智能分析(第2版)

DAX权威指南:运用Power BI、SQL Server Analysis Services和Excel实现商业智能分析(第2版)

2023-12-21 02:33| 来源: 网络整理| 查看: 265

目 录

第1章 DAX是什么 1理解数据模型 1理解关系的方向 3给Excel用户的DAX学习建议 5单元格和智能表格 5Excel函数和DAX:两种函数式语言 7使用迭代器 7DAX相关理论 8给SQL开发人员的DAX学习建议 8处理关系 9DAX是函数式语言 9DAX是一种编程语言和查询语言 10DAX和SQL中的子查询与条件语句 10给MDX开发者的DAX学习建议 11多维模型和表格模型 12DAX是一种编程语言和查询语言 12层级结构 12叶级计算 14给Power BI用户的DAX学习建议 14

第2章 DAX介绍 15理解DAX计算 15DAX的数据类型 17DAX运算符 20表构造器 22条件语句 22理解计算列和度量值 23计算列 23度量值 24正确选择计算列和度量值 27变量 28处理DAX表达式中的错误 29转换错误 29算术运算错误 30空值或缺失值 30截获错误 32生成错误 35规范化DAX代码 36聚合函数和迭代函数介绍 39认识常用的DAX函数 42聚合函数 42逻辑函数 43信息函数 45数学函数 45三角函数 46文本函数 46转换函数 48日期和时间函数 48关系函数 49结论 51

第3章 使用基础表函数 52表函数介绍 52EVALUATE函数语法介绍 54理解FILTER函数 56ALL和ALLEXCEPT函数介绍 58理解VALUES、DISTINCT函数和空行 63将表用作作为标量值 68ALLSELECTED函数介绍 70结论 72

第4章 理解计值上下文 73计值上下文介绍 74理解筛选上下文 74理解行上下文 79测试你对计值上下文的理解 81在计算列中使用SUM函数 81在度量值中使用列 83使用迭代函数创建行上下文 83嵌套多个表的行上下文 84同一个表上的多层嵌套行上下文 85使用EARLIER函数 90理解FILTER、ALL函数和上下文交互 91使用多个表 94行上下文和关系 95筛选上下文和关系 98在筛选上下文中使用DISTINCT和SUMMARIZE函数 102结论 105

第5章 理解CALCULATE和CALCULATETABLE函数 107CALCULATE和CALCULATETABLE函数介绍 107创建筛选上下文 108CALCULATE函数介绍 111使用CALCULATE函数计算百分比 116KEEPFILTERS函数介绍 126筛选单列 130筛选复杂条件 131CALCULATE计值顺序 135理解上下文转换 139行上下文和筛选上下文回顾 139上下文转换介绍 142计算列中的上下文转换 145度量值中的上下文转换 148理解循环依赖 151CALCULATE函数调节器 155理解USERELATIONSHIP函数 155理解CROSSFILTER函数 158理解KEEPFILTERS函数 159理解CALCULATE函数中的ALL函数 160无参数的ALL和ALLSELECTED函数介绍 162CALCULATE规则总结 163

第6章 变量 165VAR语法介绍 165变量是常数 167理解变量的范围 168使用表作为变量 171理解惰性计算 173使用变量的常见模式 174结论 176

第7章 迭代函数和CALCULATE函数的使用 177迭代函数的使用 177理解迭代的基数 178在迭代函数中使用上下文转换 180CONCATENATEX函数的使用 184返回表的迭代函数 186使用迭代函数解决常见问题 189计算平均和移动平均 189RANKX函数的使用 192改变计算的颗粒度 200结论 204

第8章 时间智能计算 205时间智能介绍 205Power BI中的“自动日期/时间” 206Excel Power Pivot中的自动日期列 207Excel Power Pivot中的日期表模板 208创建日期表 208CALENDAR和CALENDARAUTO函数的使用 209多个日期表的使用 212处理连接到与日期表的多个关系 212处理多个日期表 214理解基础时间智能计算 215标记为日期表 219基础时间智能函数介绍 221计算年初至今、季度初至今和月初至今 222计算平移后的周期平移 224嵌套混合使用时间智能函数 227计算周期之间的差异 229计算移动年度总计 231为嵌套的时间智能函数选择正确的调用顺序 232理解半累加计算 234使用LASTDATE和LASTNONBLANK函数 236使用期初和期末余额 241理解高级时间智能计算 245理解累计至今区间 246理解DATEADD函数 249理解FIRSTDATE、LASTDATE、FIRSTNONBLANK和LASTNONBLANK函数 255利用时间智能函数进行钻取 258使用自定义日期表 258基于周的时间智能 259自定义YTD、QTD和MTD 262结论 264

第9章 计算组 265计算组介绍 265创建计算组 268理解计算组 274理解计算项的应用 277理解计算组优先级 285在计算项中包含或排除度量值 289理解横向递归 292使用最佳实践 296结论 296

第10章 使用筛选上下文 298使用HASONEVALUE和SELECTEDVALUE函数 299ISFILTERED和ISCROSSFILTERED函数介绍 303理解VALUES和FILTERS函数的区别 306理解ALLEXCEPT和ALL/VALUES函数的区别 308使用ALL函数避免上下文转换 312使用ISEMPTY函数 314数据沿袭和TREATAS函数介绍 316使用固化筛选器 320结论 326

第11章 处理层级结构 328计算层级占比 328处理父/子层级结构 333结论 344

第12章 使用表函数 345使用CALCULATETABLE函数 345操作表的函数 347使用ADDCOLUMNS函数 348使用SUMMARIZE函数 351使用CROSSJOIN函数 354使用UNION函数 356使用INTERSECT函数 360使用EXCEPT函数 361使用表作为筛选器 363实现或(OR)条件 364将销售额的计算范围缩小至首年客户 367计算新客户 368使用DETAILROWS函数复用表表达式 370创建计算表 372使用SELECTCOLUMNS函数 372使用ROW函数创建静态表 373使用DATATABLE函数创建静态表 374使用GENERATESERIES函数 375结论 376

第13章 编写查询 377DAX Studio介绍 377理解EVALUATE函数 378EVALUATE函数语法介绍 378在DEFINE函数中使用VAR 379在DEFINE函数中使用度量值 381实现DAX查询的常用模式 382使用ROW函数测试度量值 382使用SUMMARIZE函数 383使用SUMMARIZECOLUMNS函数 385使用TOPN函数 391使用GENERATE和GENERATEALL函数 396使用ISONORAFTER函数 399使用ADDMISSINGITEMS函数 401使用TOPNSKIP函数 402使用GROUPBY函数 402使用NATURALINNERJOIN和NATURALLEFTOUTERJOIN函数 405使用SUBSTITUTEWITHINDEX函数 407使用SAMPLE函数 409理解DAX查询中的自动匹配(Auto-Exists)行为 410结论 416

第14章 高级DAX原理 418扩展表介绍 418理解RELATED函数 422在计算列中使用RELATED函数 424理解表筛选器和列筛选器的区别 425在度量值中使用表筛选器 428理解活动关系 431表的扩展行为和筛选行为的区别 433扩展表中的上下文转换 435理解ALLSELECTED函数和影子筛选上下文 436影子筛选上下文介绍 437ALLSELECTED函数返回迭代的行 441无参数的ALLSELECTED函数 443ALL系列函数 443ALL函数 445ALLEXCEPT函数 446ALLNOBLANKROW函数 446ALLSELECTED函数 446ALLCROSSFILTERED函数 446理解数据沿袭 446结论 449

第15章 高级关系 451使用计算列创建物理关系 451创建基于多列的关系 451创建基于范围的关系 453使用计算列创建关系中的循环依赖问题 456使用虚拟关系 459在DAX中转移筛选器 460使用TREATAS函数转移筛选器 462使用INTERSECT函数转移筛选器 463使用FILTER函数转移筛选器 464使用虚拟关系实现动态分组 465理解DAX中的物理关系 468使用双向交叉筛选器 470理解一对多关系 472理解一对一关系 473理解多对多关系 473通过桥接表实现多对多关系 473通过公共维度表实现多对多关系 479使用MMR弱关系实现多对多关系 483选择正确的关系类型 485管理数据颗粒度 486管理关系中的歧义 490理解活动关系中的歧义 492解决非活动关系中的歧义 494结论 496

第16章 DAX中的高级计算 497计算两个日期之间的工作日数量 497同时展示预算数据和销售数据 505计算同店销售额 508对事件进行排序 514根据最新销售日期计算上一年的销售额 517结论 522

第17章 DAX引擎 523了解DAX引擎的架构 523公式引擎介绍 524存储引擎介绍 525VertiPaq(in-memory)存储引擎介绍 526DirectQuery存储引擎介绍 527理解数据刷新 527理解VertiPaq存储引擎 528列式数据库介绍 528理解VertiPaq压缩 531理解值编码 531理解哈希编码 532理解行程长度编码(RLE) 533理解再编码 536确定最佳排序顺序 536理解层级和关系 538理解分段和分区 539使用动态管理视图 540理解关系在VertiPaq中的运用 542物化介绍 545聚合表介绍 547为VertiPaq配置合适的硬件 549是否可以自主选择硬件 550设置硬件优先级 550CPU型号 550内存速度 552内核数量 552内存大小 552硬盘I/O和分页 553硬件选择的最佳实践 553结论 553

第18章 优化VertiPaq引擎 555收集有关数据模型的信息 555反规范化 560列基数 566处理日期和时间列 567计算列 570使用布尔类型的计算列优化复杂筛选器 572计算列的处理 573存储合适的列 574优化列存储 577列的拆分优化 577优化大基数列 578禁用属性层级结构 578优化钻取属性 579管理VertiPaq聚合表 579结论 582

第19章 分析DAX查询计划 583捕获DAX查询 583DAX查询计划介绍 586收集查询计划 587逻辑查询计划介绍 587物理查询计划介绍 588存储引擎查询介绍 589获取配置信息 590使用DAX Studio 591使用 SQL Server Profiler 594读懂VertiPaq存储引擎查询 597xmSQL语法介绍 597聚合函数 598算术运算 600筛选运算 600Join运算符 602批处理事件中的临时表和浅关系 603理解扫描时间 605理解DISTINCTCOUNT函数的内部行为 606理解并行度和数据缓存 607理解VertiPaq缓存 609理解CallbackDataID函数 611读懂DirectQuery模式下的存储引擎查询 616分析复合模型 617在数据模型中使用聚合表 618读懂查询计划 620结论 626

第20章 DAX优化 628定义优化策略 629确定要优化的单个DAX表达式 629创建查询副本 632创建DAX查询副本 632使用DAX Studio创建查询度量值 633创建MDX查询副本 635分析执行时间和查询计划信息 636发现存储引擎或公式引擎中的性能瓶颈 639修改并重新运行测试查询 639优化DAX表达式中的瓶颈 639优化筛选条件 640优化上下文转换 644优化IF条件 650优化度量值中的IF函数 650选择IF函数还是DIVIDE函数 655优化迭代函数中的IF函数 658减少CallbackDataID函数带来的影响 661优化嵌套的迭代函数 665避免在表筛选器中使用DISTINCTCOUNT函数 671使用变量避免重复计算 676结语结论 681



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3